/*
 * @Author: hej 2115735990@qq.com
 * @Date: 2024-03-18 11:11:48
 * @LastEditors: hej 2115735990@qq.com
 * @LastEditTime: 2024-03-21 09:59:57
 * @FilePath: \Vue3-big-event-admin-demo\src\stores\user.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import { userGetInfoService } from '@/api/user'
import { defineStore } from 'pinia'
import { ref } from 'vue'
export const useUserStore = defineStore(
  'user',
  () => {
    // 用户模块
    // 声明token，setToken，removeToken
    const token = ref('')
    // 存在用户的个人信息
    const userInfo = ref({})
    // 修改token
    const setToken = (newToken) => {
      token.value = newToken
    }
    // 删除token
    const removeToken = () => {
      token.value = ''
    }
    // 修改用户个人信息
    const getUserInfo = async () => {
      // 请求获取数据
      const res = await userGetInfoService()
      // 将获取到的数据存入用户个人信息的key中
      userInfo.value = res.data.data
    }
    // 退出登录，删除个人信息存储
    const delUserInfo = (obj) => {
      userInfo.value = obj
    }
    // 导出、暴露数据和方法
    return {
      token,
      userInfo,
      setToken,
      removeToken,
      getUserInfo,
      delUserInfo
    }
  },
  {
    // 开启持久化管理
    persist: true
  }
)
